This section provides background information related to the present disclosure which is not necessarily prior art.
Payment terminals, such as credit card readers in stores or in ATMs or payment apps on mobile devices which use credit card credentials, require extensive testing in order to ensure compliance with rules of credit card companies and banks as well as with government regulations. This testing is performed by test case performers, which are entities seeking to provide businesses and the like with payment terminals, such as manufacturers or programmers of such terminals. By performing the testing, test case performers can obtain certification for their terminals which allows them to offer the payment terminals for financial transactions. To test the compliance of the terminals, test case performers execute test cases which simulate possible payment situations and which are based on the rules and regulations the terminal being tested has to comply with. Test cases are provided by test case suppliers, which are financial institutions such as banks or credit card companies, which provided the financial transaction infrastructure used for financial transactions by the payment terminals. To select the correct test cases for a given terminal, a test case performer has to compare a terminal's configuration, which determines which rules and regulations apply, with the possible test cases in order to select the necessary test cases to verify the payment terminal's compliance. Rules and regulations for payment terminals differ globally. Therefore, a large number of rules and regulations exist, leading to a vast number of possible test cases for payment terminals. Currently, test case performers choose the required test cases by consulting a look-up table provided by the test case suppliers, which lists, for all possible test cases, all requirements a test case can check. A test case performer first needs to determine all aspects of the terminal which are to be tested and then needs to compare these aspects with each test case in the look-up table. This way of selecting test cases is error-prone, complicated and time-consuming. Furthermore, it can result in executing more test cases than necessary since certain terminal configurations can be checked with multiple test cases, while only one would be necessary to run. The test case performer will most likely not realize this due to the size of the look-up table and will therefore run too many test cases. There is also a danger that the test case performer could miss a test case that could result in a faulty terminal being used in a production environment.